In the area of data networks, there has been much effort concerning distributed rate control to control the sending rate of multiple flows over arbitrary network topologies. Previous efforts have aimed to perform rate control in ways that fairly and fully utilize a network while maintaining low operating congestion (which results in low queuing delay and low congestion induced packet loss), and perhaps smooth changes in transmission rate.
To these ends, there have been many variants of congestion or rate control protocols developed. Examples of rate control algorithms include various congestion control algorithms used in the transmission control protocol (TCP) and variants such as: TCP Reno, TCP New Reno, Compound TCP (CTCP), Binary Increase Congestion TCP (BICTCP), TCP Vegas, Fast TCP, Data Center TCP (DCTCP), and others. The TCP-friendly rate control (TFRC) algorithm has also been used a rate control protocol for video conferencing. Algorithms for co-existence of loss and delay based flows, e.g. PERT (Probabilistic Early Response TCP), and MPERT (Modified PERT), have also been used. Available-bandwidth estimation techniques have been proposed and used for some real-time VoIP/video-conferencing applications. There have also been efforts toward utility-maximization based rate control using delay as the congestion signal (primal-dual formulation).
Some rate control techniques have been specifically directed to applications that require low end-to-end latency. End-to-end latency (to be referred to as “E2E”) refers to the time from when content is generated (at the sender side) to the time when content is consumed (at the receiver side). Examples of low E2E applications (applications sensitive to end-to-end latency) include real-time media delivery systems such as video conferencing and voice over IP, interactive software such as remote desktop applications, online multiplayer games, interactive websites, web-based applications such as Office 365™ and Google Docs™, etc.
With respect to rate control in general, and in particular with respect to rate control with low E2E latency, existing rate control techniques have had shortcomings. High utilization of network bandwidth is often not achieved. Network bandwidth may not be fairly allocated, in particular, amongst multiple conforming flows and amongst additional conforming flows and more aggressive flows such as TCP. Often, there is slow convergence to a steady state of transmission. It may be difficult to dynamically adapt to higher congestion levels when aggressive flows are present. Some rate control algorithms over-oscillate when in a steady state. Moreover, many previous rate control algorithms are not resilient to diversified network conditions such as noise in delay measurements and random packet loss.
Techniques related to bandwidth management are discussed below.